#!/bin/bash
#
###############################################################################
#                                                                             #
#              Ϊնݿlinux ̨ע                               #
#              ȨڻΪ޹˾õãΥ߱ؾ                   #
#              Huawei linux MobilePartner licensed software                   #
#              Copyright (c) 2007-2008 by Huawei Tech. Corp. Ltd..            #
#              ߣǬ 2008.7.8                                          #
#                                                                             #
###############################################################################
#

BAKCURRENTPATH=`pwd`
SOFTWARENAME="Mobile Partner"
INSTALLWORKPATH="$(dirname "$0")"
CONFIG_FILE="/etc/datacard_config"
USERDATA_PATH="/usr/local/hw_mobile_userdata"
PPPD_PATH="/usr/local/hw_pppd"

FULLVERSION=15.001.08.01.45

SOFTWARENAMEINDESKTOP=$SOFTWARENAME
SOFTWARENAME=$(echo $SOFTWARENAME | sed s\#\ \#_\#g)

INSTALLPATH="/usr/local/${SOFTWARENAME}"
TEMPWORKPATH="/tmp/${SOFTWARENAME}_$$"
TEMPFILE="${SOFTWARENAME}_install_$PPID"

#Language String
LANGUAGESTRING[0]="zh"
LANGUAGESTRING[1]="en_US"
LANGUAGECODE[0]=0
LANGUAGECODE[1]=1


LANGCODE=${LANGUAGECODE[1]}
i=0
while [ ".${LANGUAGESTRING[${i}]}" != "." ]
do
    if [ ${LANGUAGESTRING[${i}]} = "${LANG}" ]
    then
        LANGCODE=${LANGUAGECODE[${i}]}
        break
    fi
    i=`expr ${i} + 1`
done
unset i


LYouMustBeRoot[0]="rootûбװ"
LYouMustBeRoot[1]="You must run the process by root"

LPlsInputInstallPath[0]="밲װľ·"
LPlsInputInstallPath[1]="Please input the absolute path for install"

LInstallPath[0]="װ·"
LInstallPath[1]="install path"

LIllegal[0]="Ƿ"
LIllegal[1]="illegal"

LNoFile[0]="Ҳļ"
LNoFile[1]="Can not find file: "

LCanNotCreateDir[0]="޷Ŀ¼"
LCanNotCreateDir[1]="Can not create dir"

LMobilePartnerInstall[0]="${SOFTWARENAMEINDESKTOP}װ"
LMobilePartnerInstall[1]="${SOFTWARENAMEINDESKTOP} installer"

LJREInstalled[0]="JREѾװ, Ҫǰװ"
LJREInstalled[1]="JRE have installed before, will want to cover with before version"

LJREInstalling[0]="ʼװJRE, Ժ..."
LJREInstalling[1]="Installing JRE..."

LJREInstallComplete[0]="ѾJREװ"
LJREInstallComplete[1]="JRE install have completed"

LStartInstallPartner[0]="ʼװ̨, Ժ..."
LStartInstallPartner[1]="Installing ${SOFTWARENAMEINDESKTOP}..."

LCompleteInstallPartner[0]="Ѿɺ̨װ"
LCompleteInstallPartner[1]="install have completed, local path is"

LLocalPath[0]="ذװ·"
LLocalPath[1]="Local path is"

LOverwriteInstalled[0]="Ѿװк̨, Ƿ񸲸"
LOverwriteInstalled[1]="The software is exist. Do you want overwrite it"

LInstallJRE[0]="װJRE"
LInstallJRE[1]="install JRE"

LInstallMP[0]="װ̨"
LInstallMP[1]="install ${SOFTWARENAMEINDESKTOP}"

LInstallAll[0]="װJREͺ̨"
LInstallAll[1]="install JRE and ${SOFTWARENAMEINDESKTOP}"

LQuitInstall[0]="˳"
LQuitInstall[1]="Exit"

LPlsSelect[0]="ѡ"
LPlsSelect[1]="Please select: "

LYouMustSelect[0]="ѡ"
LYouMustSelect[1]="You must select: "

LInstallEnd[0]=", ˳"
LInstallEnd[1]="Finished, press any key to exit"

LInstallingVersionOlderThenInstalled[0]="棺ڰװİ汾ϵͳеİ汾ɡǷ񸲸ǣ"
LInstallingVersionOlderThenInstalled[1]="WARNING: The installing version is older than installed. Do you want to overwrite it"

LInstallingVersionLaterThenInstalled[0]="ϵͳдھɰ汾Ƿ"
LInstallingVersionLaterThenInstalled[1]="There is a older version in your system. Do you want to update it"

LInstalledVersion[0]="Ѱװ汾:"
LInstalledVersion[1]="Installed version:"

LInstallingVersion[0]="ڰװ汾:"
LInstallingVersion[1]="Installing version:"

LProgramRunning[0]="ȹرճٽжء"
LProgramRunning[1]="Program is running, you need close it before uninstalling."

trap 'kill $BG_PID;echo;exit' 1 2 3 15

#"loading"Ч
dots()
{
    stty echo >/dev/null 2>&1
    while true
    do
      echo -e ".\c"
      sleep 1
    done
    stty echo
    #echo
}

#תЧ
rotate()
{
    INTERVAL=0.1
    TCOUNT="0"
    stty -echo >/dev/null 2>&1
    while :
    do
    TCOUNT=`expr $TCOUNT + 1`
        case $TCOUNT in
        "1") echo -e '-'"\b\c"
        sleep $INTERVAL
        ;;
        "2") echo -e '\\'"\b\c"
        sleep $INTERVAL
        ;;
        "3") echo -e '|'"\b\c"
        sleep $INTERVAL
        ;;
        "4") echo -e '/'"\b\c"
        sleep $INTERVAL
        ;;
        *) TCOUNT="0" ;;
        esac
    done
    stty echo
}


# /*yes or no , yes0, no1*/
yes_or_no()
{
    if [ ${#} -ne 2 ]
    then
        echo -e "yes_or_or: ${ErrorPara[${LANGCODE}]}"
        return 1
    fi
    if [ "${2}" = "Y" ]
    then
        DEFPMPT="([Y]/N):\c "
        DEFVAL="Y"
    else
        DEFPMPT="(Y/[N]):\c "
        DEFVAL="N"
    fi
    echo -e "${1} ${DEFPMPT}"
    read ANS
    while [ "${ANS}" != "Y" -a "${ANS}" != "y" -a "${ANS}" != "N" -a "${ANS}" != "n" -a ! -z "${ANS}" ]
    do
        echo -e "${1} ${DEFPMPT}"
        read ANS
    done
    : ${ANS:="${DEFVAL}"}
    if [ "${ANS}" != "Y" -a "${ANS}" != "y" ]
    then
        unset ANS
        return 1
    fi
    unset ASN
    return 0
}

#װűûǷΪrootû
CheckID()
{
    if [ `id | awk '{print $1}'` != "uid=0(root)" ]
    then
        echo -e "${LYouMustBeRoot[${LANGCODE}]}"
        echo -e "\n${LInstallEnd[${LANGCODE}]}"
        read -n 1
	clear
        exit
    fi
}
#鵱ǰǷк̨
CheckRunning()
{
    RUNJAR=`ps -ef |grep -v grep |grep MobilePartner.jar | awk '{print $2}'`
    RUNBIN=`ps -ef |grep -v grep |grep MobilePartner.bin | awk '{print $2}'`
    if [ "x${RUNJAR}" != "x" ]
    then
        echo -e "Program is running, you need close it before installing."
        read RESP
        exit
    fi

    if [ "x${RUNBIN}" != "x" ]
    then
        echo -e "Program is running, you need close it before installing."
        read RESP
        exit
    fi
}

#ļӲϽŰװļʱĿ¼װļĿ¼
PreInstall()
{
    #JREļ
#    if [ ! -f "${INSTALLWORKPATH}"/jre-1_5_0_15-linux-i586.bin ]
#    then
#        echo -e "${LNoFile[${LANGCODE}]}jre-1_5_0_15-linux-i586.bin"
#        exit
#    fi
    #鰲װļ
    if [ ! -f "${INSTALLWORKPATH}"/MobilePartner.tar.gz ]
    then
        echo -e "${LNoFile[${LANGCODE}]}MobilePartner.tar.gz"
        exit
    fi
    
    if [ ! -d "${TEMPWORKPATH}" ]
    then
        mkdir ${TEMPWORKPATH}
    fi
    if [ ! -d "${TEMPWORKPATH}" ]
    then
        echo -e "\n${LCanNotCreateDir[${LANGCODE}]}: ${TEMPWORKPATH}"
        exit
    fi
    
    #JREװļ
#    cp -f "${INSTALLWORKPATH}"/jre-1_5_0_15-linux-i586.bin ${TEMPWORKPATH}
#    chmod a+x ${TEMPWORKPATH}/jre-1_5_0_15-linux-i586.bin
    
    #̨װļ
    cp -f "${INSTALLWORKPATH}"/MobilePartner.tar.gz ${TEMPWORKPATH}
    
    if [ -f "${INSTALLWORKPATH}"/data.bin ]
    then
        cp -f "${INSTALLWORKPATH}"/data.bin ${TEMPWORKPATH}
    fi

    #װűӲ
    cp -f "${INSTALLWORKPATH}"/install ${TEMPWORKPATH}
    chmod a+x ${TEMPWORKPATH}/install    
    

    #add by liuzhiqiang... begin
    if [ -f $CONFIG_FILE ]
    then
        #ȡ汾Ϣ
        . $CONFIG_FILE

        #ȡϵͳѾװİ汾
        VRVERSIONINSTALLED=`echo $FullVersion | cut -d '.' -f1`
        BUILDVERSIONINSTALLED=`echo $FullVersion | cut -d '.' -f2`
        DEVELOPVERSIONINSTALLED=`echo $FullVersion | cut -d '.' -f3`
        SPVERSIONINSTALLED=`echo $FullVersion | cut -d '.' -f4`
        CUSTOMIZEVERSIONINSTALLED=`echo $FullVersion | cut -d '.' -f5`
        
        #ȡڰװİ汾
        VRVERSIONINSTALLING=`echo $FULLVERSION | cut -d '.' -f1`
        BUILDVERSIONINSTALLING=`echo $FULLVERSION | cut -d '.' -f2`
        DEVELOPVERSIONINSTALLING=`echo $FULLVERSION | cut -d '.' -f3`
        SPVERSIONINSTALLING=`echo $FULLVERSION | cut -d '.' -f4`
        CUSTOMIZEVERSIONINSTALLING=`echo $FULLVERSION | cut -d '.' -f5`
        
        #ӡ汾Ϣ
        echo "${LInstalledVersion[${LANGCODE}]} ${FullVersion}"
        echo "${LInstallingVersion[${LANGCODE}]} ${FULLVERSION}"
        
        #Ѿװİ汾Ƿ
        while [ 1 ]
        do
            #ȽVR汾ţͬʾûǰװ
            if [ $VRVERSIONINSTALLED -ne $VRVERSIONINSTALLING ]
            then
                InstallDifferentVersionPrompt
                break
            fi
            
            #ȽC汾ţͬʾûǰװ
            if [ $CUSTOMIZEVERSIONINSTALLED -ne $CUSTOMIZEVERSIONINSTALLING ]
            then
                InstallDifferentVersionPrompt
                break
            fi
            
            #ȽB汾
            if [ $BUILDVERSIONINSTALLED -gt $BUILDVERSIONINSTALLING ]
            then
                #ѰװB汾Ž£ʾûѾװ˽µĺ̨汾Ƿ
                InstallOlderVersionPrompt
                break
            elif [ $BUILDVERSIONINSTALLED -lt $BUILDVERSIONINSTALLING ]
            then
                #ѰװB汾ŽϣҪȽD汾SP汾ֱӸǰװ
                InstallLaterVersionPrompt
                break
            fi 
            
            #ȽD汾
            if [ $DEVELOPVERSIONINSTALLED -gt $DEVELOPVERSIONINSTALLING ]
            then
                #ѰװD汾Ž£ʾûѾװ˽µĺ̨汾Ƿ
                InstallOlderVersionPrompt
                break
            elif [ $DEVELOPVERSIONINSTALLED -lt $DEVELOPVERSIONINSTALLING ]
            then
                #ѰװD汾ŽϣҪȽSP汾ֱӸǰװ
                InstallLaterVersionPrompt
                break
            fi
            
            #ȽSP汾
            if [ $SPVERSIONINSTALLED -gt $SPVERSIONINSTALLING ]
            then
                #ѰװSP汾Ž£ʾûѾװ˽µĺ̨汾Ƿ
                InstallOlderVersionPrompt
                break
            elif [ $SPVERSIONINSTALLED -lt $SPVERSIONINSTALLING ]
            then
                #ѰװSP汾ŽϣֱӸǰװ
                InstallLaterVersionPrompt
                break
            fi
            
            #ߵʾа汾һ£ʾǷ񸲸
            InstallSameVersionPrompt
            break
        done

        INSTALLPATH=`egrep "^path=" $CONFIG_FILE | awk -F  '=' '{print $2}'`
        
    else
        #밲װĿ¼
        echo -e "\n ${LPlsInputInstallPath[${LANGCODE}]}[${INSTALLPATH}]: \c"
        read ANS
        : ${ANS:="${INSTALLPATH}"}
        INSTALLPATH=${ANS}
        
        #Ŀ¼ĺϷ
        if [[ ${INSTALLPATH} != /* ]]
        then
            echo -e "\n${LInstallPath[${LANGCODE}]} ${LIllegal[${LANGCODE}]}"
            DisplayEndMsg
            exit
        fi
        
        #ʹװĿ¼
        if [  -d "${INSTALLPATH}" ]
        then
            INSTALLPATH=${INSTALLPATH}/${SOFTWARENAME}
        fi
    fi
    
    #װĿ¼
    if [ ! -d "${INSTALLPATH}" ]
    then
        mkdir ${INSTALLPATH}
    fi
    if [ ! -d "${INSTALLPATH}" ]
    then
        echo -e "\n${LCanNotCreateDir[${LANGCODE}]}: ${INSTALLPATH}"
        DisplayEndMsg
        exit
    fi

    echo -e "\n${LLocalPath[${LANGCODE}]}: ${INSTALLPATH}"
}

InstallLaterVersionPrompt()
{
    #°汾ʾǷ	
    yes_or_no "\n${LInstallingVersionLaterThenInstalled[${LANGCODE}]}?" Y
    if [ ${?} -ne 0 ]
    then
        DisplayEndMsg
        exit
    fi
}

InstallSameVersionPrompt()
{
    #ǰѾװ̨ʾǷ񸲸	
    yes_or_no "\n${LOverwriteInstalled[${LANGCODE}]}?" Y
    if [ ${?} -ne 0 ]
    then
        DisplayEndMsg
        exit
    fi
}

InstallOlderVersionPrompt()
{
    #װİ汾ϵͳеİ汾ɣʾ
    yes_or_no "\n${LInstallingVersionOlderThenInstalled[${LANGCODE}]}?" N
    if [ ${?} -ne 0 ]
    then
        DisplayEndMsg
        exit
    fi
}

InstallDifferentVersionPrompt()
{
    #ǰѾװ̨ʾǷ񸲸	
    yes_or_no "\n${LOverwriteInstalled[${LANGCODE}]}?" Y
    if [ ${?} -ne 0 ]
    then
        DisplayEndMsg
        exit
    fi
}

#װJRE
InstallJRE()
{
    mkdir -p "${INSTALLPATH}/java"
    cd "${INSTALLPATH}/java"
    echo -e -n "\n${LJREInstalling[${LANGCODE}]}"
    ${TEMPWORKPATH}/jre-1_5_0_15-linux-i586.bin >/dev/null 2>&1 <<!
Y
!
# for jre compatibility
    sed -i 's/XINERAMA/FAKEEXTN/g' ${INSTALLPATH}/java/jre1.5.0_15/lib/i386/xawt/libmawt.so

    DonePrompt "${LJREInstalling[${LANGCODE}]}"

    #echo -e "\n${LJREInstallComplete[${LANGCODE}]}"
    
    return 0
}


#װ̨
InstallMobilePartner()
{
    echo -e -n "\n${LStartInstallPartner[${LANGCODE}]}"
    
    #dots &
    #BG_PID=$!
    rotate &
    ROTATE_PID=$!
    
    
    cd "${INSTALLPATH}"
#ڰװ·½ѹdata.bin
    if [ -f "${TEMPWORKPATH}"/data.bin ]
    then
        tar zxf "${TEMPWORKPATH}"/data.bin >/dev/null 2>&1
    fi
#ڰװ·½ѹװ   
    tar zxf ${TEMPWORKPATH}/MobilePartner.tar.gz >/dev/null 2>&1
    chmod -R a+w "${INSTALLPATH}"/userdata
    chmod -R a+w "${INSTALLPATH}"/config
    chmod -R a+w "${INSTALLPATH}"/log

#ѹִг
    chmod +x ./MobilePartner_distrib
    ./MobilePartner_distrib -dest ./ >/dev/null   

#ļWINDOWSзȥ
#    XMLFILELIST=`find  ${INSTALLPATH} -name *.xml`
#    for XMLFILE in ${XMLFILELIST}
#    do
#        sed -i "s/.$//" ${XMLFILE}
#    done

#װautorun
#    chmod +x ./autorun/*
    
   # ./autorun/huawei_autostart install >/dev/null 2>&1


#Ndisģļİװ
#    chmod +x ./ndis_drivers/*
#    ./ndis_drivers/ndis_install ${INSTALLPATH}/ndis_drivers >/dev/null  2>&1
    
        
#߰װű
#    chmod +x ./driver/*
#    ./driver/install ${INSTALLPATH} .bin >/dev/null  2>&1
    

    
#copyļӦĿ¼
    #ļ
#    cp -rf ./lib/librxtxSerial.so ./java/jre1.5.0_15/lib/i386
#    cp -rf ./lib/libjnotify.so ./java/jre1.5.0_15/lib/i386
    #ֿļ
    cp -rf ./config/fontconfig/fontconfig.properties ./rt/lib/
    cp -rf ./config/fontconfig/fontconfig.SuSE.properties ./rt/lib/
    rm -rf ./config/fontconfig

    #ļ
    chmod a+x ./sbin/*
    chmod -R a+w ./hw_pppd
    chmod -R a+x ./hw_pppd
    cp -rf ./hw_pppd /usr/local/
    
    #ûļ
    if [ ! -d ${USERDATA_PATH} ]
    then
        mkdir $USERDATA_PATH
        mkdir ${USERDATA_PATH}/${SOFTWARENAME}
        cp -rf ./userdata ${USERDATA_PATH}/${SOFTWARENAME}
        chmod -R a+w ${USERDATA_PATH}
        chmod -R a+r ${USERDATA_PATH}
    else
        #ͬƵûݣ
        if [ ! -d ${USERDATA_PATH}/${SOFTWARENAME} ]
        then
            mkdir ${USERDATA_PATH}/${SOFTWARENAME}
            cp -rf ./userdata ${USERDATA_PATH}/${SOFTWARENAME}
            chmod -R a+w ${USERDATA_PATH}
            chmod -R a+r ${USERDATA_PATH}
        fi
    fi
    
    #JREUpdateInstall£
    #cp -rf "${INSTALLPATH}/java" "${INSTALLPATH}/lib/UpdateInstall"
    
    #޸sudoersļ
    grep -v "MobilePartner.sh" /etc/sudoers >/tmp/${TEMPFILE} 2>&1
    DELETECOMMENT="delete requiretty for hw_mobile"
    REQUIRETTY=`grep "${DELETECOMMENT}" /tmp/${TEMPFILE}`
    if [ "x${REQUIRETTY}" != "x" ]
    then
        REQUIRETTY=`echo "${REQUIRETTY}" | awk -F ',' '{printf $2}'` 
    else
        REQUIRETTY=`grep "requiretty" /tmp/${TEMPFILE}`
        if [ "x${REQUIRETTY}" != "x" ]
        then
            sed -i "s/${REQUIRETTY}/# ,${REQUIRETTY},${DELETECOMMENT}/g" /tmp/${TEMPFILE} 2>/dev/null
        fi
    fi
    echo -e "ALL ALL=(ALL) NOPASSWD:${INSTALLPATH}/MobilePartner.sh" >> /tmp/${TEMPFILE}

    cp -f /tmp/${TEMPFILE} /etc/sudoers
    

#༭ͼͿʼ˵ͼ   
    sed "s#\${HW_SOFTWARENAME}#${SOFTWARENAMEINDESKTOP}#g" ./MobilePartner.desktop > /tmp/${TEMPFILE} 2>/dev/null
    sed "s#\${HW_INSTALLPATH}#${INSTALLPATH}#g" /tmp/${TEMPFILE} > ./MobilePartner.desktop 2>/dev/null
    if [ -d /root/Desktop ]
    then
    	
        cp -f ./MobilePartner.desktop /root/Desktop
        chmod +x /root/Desktop/MobilePartner.desktop
        
    else
        cp -f ./MobilePartner.desktop /root
        chmod +x /root/MobilePartner.desktop
    fi  
    cp -f ./MobilePartner.desktop /usr/share/applications
    
#༭ʼ˵жͼ  
    sed "s#\${HW_SOFTWARENAME}#${SOFTWARENAMEINDESKTOP}#g" ./UninstallMobilePartner.desktop > /tmp/${TEMPFILE} 2>/dev/null
    sed "s#\${HW_INSTALLPATH}#${INSTALLPATH}#g" /tmp/${TEMPFILE} > ./UninstallMobilePartner.desktop 2>/dev/null  
    
    cp -f ./UninstallMobilePartner.desktop /usr/share/applications
    
#༭нű
    echo -e "#!/bin/bash" > ./MobilePartner.sh

# for Ubuntu
    UBUNTURELEASE=`grep Ubuntu /etc/issue 2>&1 | awk -F ' ' '{printf $1}'`
    if [ "x${UBUNTURELEASE}" = "xUbuntu" ]
    then
        if [ -d /usr/share/fonts/truetype/arphic ]
	then
            rm -rf /usr/share/fonts/truetype/arphic
	fi
	mkdir -p /usr/share/fonts/truetype/arphic
        ln -s /usr/share/fonts/truetype/arphic ${INSTALLPATH}/rt/lib/fonts/fallback
        echo -e "export AWT_TOOLKIT=\"MToolkit\"" >> ./MobilePartner.sh
 #   else
  #      sed -i "s/export AWT_TOOLKIT=\"MToolkit\"//g" ./lib/UpdateInstall/install
    fi
    
# for Debian
    DEBIANRELEASE=`grep Debian /etc/issue 2>&1 | awk -F ' ' '{printf $1}'`
    if [ "x${DEBIANRELEASE}" = "xDebian" ]
    then
        if [ -d /usr/share/fonts/truetype/arphic ]
	then
            rm -rf /usr/share/fonts/truetype/arphic
	fi
	mkdir -p /usr/share/fonts/truetype/arphic
        ln -s /usr/share/fonts/truetype/arphic ${INSTALLPATH}/rt/lib/fonts/fallback
    fi

# for OpenSuSE
    if [ -f /etc/SuSE-release ]
    then
        if [ -d /usr/share/fonts/truetype ]
	then
            rm -rf /usr/share/fonts/truetype
	fi
	mkdir -p /usr/share/fonts/truetype
        ln -s /usr/share/fonts/truetype ${INSTALLPATH}/rt/lib/fonts/fallback
        echo -e "export DISPLAY=:0" >> ./MobilePartner.sh
    fi

# for jre compatibility
    echo -e "export LIBXCB_ALLOW_SLOPPY_LOCK=1" >> ./MobilePartner.sh

    echo -e "export JAVA_HOME=\"${INSTALLPATH}/java/jre1.5.0_15\"" >> ./MobilePartner.sh
    echo -e "export CLASSPATH=\"${INSTALLPATH}/java/jre1.5.0_15/lib:.\"" >> ./MobilePartner.sh

    echo -e "APPDIR=\"${INSTALLPATH}\"" >> ./MobilePartner.sh
    echo -e "cd \${APPDIR}" >> ./MobilePartner.sh
#    echo -e "\${APPDIR}/java/jre1.5.0_15/bin/java -Djava.library.path=\${APPDIR}/lib -jar MobilePartner.jar &" >> ./MobilePartner.sh
    echo -e "\${APPDIR}/MobilePartner.bin &" >> ./MobilePartner.sh
    chmod +x ./MobilePartner.sh
    chmod a+x ./MobilePartner
        
#༭жؽű
    sed -i "s/{LYouMustBeRoot}/${LYouMustBeRoot[${LANGCODE}]}/g" ./UninstallMobilePartner
    sed -i "s/{LInstallEnd}/${LInstallEnd[${LANGCODE}]}/g" ./UninstallMobilePartner
    sed -i "s/{LProgramRunning}/${LProgramRunning[${LANGCODE}]}/g" ./UninstallMobilePartner
    sed -i "s#{INSTALLPATH}#${INSTALLPATH}#g" ./UninstallMobilePartner
    sed -i "s#{CONFIG_FILE}#${CONFIG_FILE}#g" ./UninstallMobilePartner
    if [ "x${REQUIRETTY}" != "x" ]
    then
        sed -i "s/{REQUIRETTY}/${REQUIRETTY}/g" ./UninstallMobilePartner
	sed -i "s/{DELETECOMMENT}/${DELETECOMMENT}/g" ./UninstallMobilePartner
    else
        grep -v {REQUIRETTY} ./UninstallMobilePartner > /tmp/${TEMPFILE}
	cp -f /tmp/${TEMPFILE} ./UninstallMobilePartner
    fi
    
    chmod +x ./UninstallMobilePartner    
    
    #kill $BG_PID >/dev/null
    kill $ROTATE_PID >/dev/null    
       
    DonePrompt "${LStartInstallPartner[${LANGCODE}]}"

    #echo -e "\n${SOFTWARENAMEINDESKTOP} ${LCompleteInstallPartner[${LANGCODE}]} ${INSTALLPATH}"

    #ļ
    rm -rf ./userdata
    rm -rf ./hw_pppd
    rm -rf ./*.desktop

    rm -f /tmp/${TEMPFILE}
    rm -rf ${TEMPWORKPATH}
}
InstallDriver(){
echo -e -n "\nInstalling Driver..."
echo -e -n "\n"
echo -e -n "\n"
chmod +x ./driver/*
./driver/install ${INSTALLPATH} .bin
chmod +x ./patch/*
./patch/patch_install ${INSTALLPATH}/patch
}

DonePrompt()
{
    LOGCHARNUM=`echo "$1" | wc -m`
    TERMCHARNUM=`stty size | awk -F ' ' '{printf $2}'`
    LOGCHARNUM=`expr $TERMCHARNUM - $LOGCHARNUM`
    echo "[ done ] " | awk '{printf "%"'"$LOGCHARNUM"'"s", $0}'
    echo -e ""
}


# /*ṩѡ*/
SelectLanguage()
{
    while :
    do
        case ${LANGCODE} in
            0)
                echo -e "\n\t1. "
                echo -e "\t2. Ӣ"
                echo -e "\n\tѡ: [1]\c"
                read RESP
                : ${RESP:="1"}
            ;;
            *)
                echo -e "\n\t1. Simplified Chinese"
                echo -e "\t2. English"
                echo -e "\n\tPlease select Language: [2]\c"
                read RESP
                : ${RESP:="2"}
            ;;
        esac
        case ${RESP} in
            [1,2])
                LANGCODE=`expr ${RESP} - 1`
                return ${LANGCODE}
            ;;
            *)
                case ${LANGCODE} in
                    0)
                        echo -e - "\n\tѡ: 1, 2\n"
                    ;;
                    *)
                        echo -e "\n\tPlease select: 1, 2\n"
                    ;;
                esac
            ;;
        esac
    done
}

# /*ʾʱϢ*/
DisplayStartMsg()
{
    clear
}

# /*ʾʱϢ*/
DisplayEndMsg()
{
    cd "${BAKCURRENTPATH}"
    rm -rf "${TEMPWORKPATH}"
    echo -e "\n${LInstallEnd[${LANGCODE}]}"
    read -n 1
    clear
}



GenConfigFile()
{
    cd $INSTALLPATH
    echo "path=$INSTALLPATH"               > $CONFIG_FILE
    echo "name=MobilePartner"              >> $CONFIG_FILE
    echo "Exec=$INSTALLPATH/MobilePartner" >> $CONFIG_FILE
    echo "FullVersion=$FULLVERSION" >> $CONFIG_FILE
    
}



clear
CheckID
CheckRunning
#SelectLanguage
#luanying add 20090217
:>"$INSTALLPATH/lib/UpdateInstall/inputLog.txt"
DisplayStartMsg
#ûѡװʱ²ִ뵽Ӧ÷ŵwhileѭ
PreInstall
#InstallJRE
InstallMobilePartner
InstallDriver
GenConfigFile
#luanying add 20081229
echo "Download Programs finished!" > "$INSTALLPATH/lib/UpdateInstall/inputLog.txt"
DisplayEndMsg
exit 0

#ûѡװ´Ч
while :
do
    echo -e - "***\t\t${LMobilePartnerInstall[${LANGCODE}]}\t\t***\n"
    echo -e - "${LPlsSelect[${LANGCODE}]}\n"
    echo -e - "\t1) ${LInstallMP[${LANGCODE}]}"
    echo -e - "\t0) ${LQuitInstall[${LANGCODE}]}\n"
    echo -e - "Choice: [0]\c"
    read RESP
    : ${RESP:="0"}
    case ${RESP} in
        1)
             PreInstall
             InstallJRE
             InstallMobilePartner
             GenConfigFile
        ;;
        0)
            DisplayEndMsg
            exit 0
        ;;
        *)
            echo -e - "${LYouMustSelect[${LANGCODE}]}1, 0"
        ;;
    esac
done
